For an operator, a data center, a cloud computing service provider, and a large network enterprise, deployment and application of NFV play an increasingly important role. In Network Function Virtualization (NFV), universal hardware such as an x86 processor, and a virtualization technology are used to carry software processing to implement many functions, so as to reduce high device costs in a network. In NFV, by means of software and hardware decoupling and function abstraction, a network device function is no longer dependent on special-purpose hardware, and a resource can be fully and flexibly shared. In this way, rapid development and deployment of a new service are implemented, and automatic deployment, auto scaling, fault isolation, self-healing, and the like are implemented based on an actual service (a network mentioned in this field refers to a network service) requirement.
According to an NFV technical principle, a network service may include at least one Virtualised Network Function (VNF), and each VNF may be decomposed into a group of Virtualised Network Function Components (VNFCs). That is, an NFV network includes one or more VNFs, and a VNF includes one or more VNFCs. The VNFCs are a group of processes or software modules of a software package providing a specified network service function. Correspondingly, from a physical perspective, the VNFCs include an interface board, a software package, a switch board, a service processing board, a main control board, and the like. Correspondingly, from a software perspective, the VNFCs include an interface process, a switch process, a service processing process, a main control process, and the like. VNFCs of a same type can implement a same function, and each VNFC is finally mapped to a virtual machine (VM). Generally, a same type of VNFC may run on multiple virtual machines (so as to provide a stronger service processing capability or higher service reliability), and multiple different virtualized network function components may also run on a same virtual machine. When a virtual machine is started, virtualized network function components running on the virtual machine simultaneously start and run.
Generally, one VNF may have several types of VNFCs, and each type of VNFC implements a different function. In a complete NFV network, there are X0 VNFs of a same type, and correspondingly, there are also X0 VNFCs of each type for this type of VNF. There may be multiple VNFCs of a same type, and only start time of a VNFC or a virtual machine on which a VNFC runs is different. It should be noted that VNFCs are randomly distributed in a virtual machine.
Referring to FIG. 1, FIG. 1 is a schematic distribution diagram of VNFCs in virtual machines. A VNF0 and a VNF1 are used as examples. VNFCs included in the VNF0 are a VNFC000, a VNFC001, and a VNFC002, and VNFCs included in the VNF1 are a VNFC010 and a VNFC011.
In FIG. 1, a VM0 and a VM4 indicate that all VNFCs of a same VNF may run on a same virtual machine and VNFs running on different virtual machines may be different.
In FIG. 1, a VM1 indicates that only some VNFCs of one VNF may run on a virtual machine.
In FIG. 1, a VM2 and a VM5 indicate that some VNFCs of one VNF may run on a virtual machine, and there may be one or more VNFCs of each type.
In FIG. 1, a VM3 indicates that VNFCs of different VNFs may run on a virtual machine.
At least one specified VNFC set needs to work normally, to enable an NFV network to normally provide a service, and the VNFC set generally includes VNFCs of different VNFs. VNFC sets of services of different types or with different priorities may be different.
A large quantity of virtual machines may run on a large NFV network. These virtual machines share physical resources, such as storage, network, and host resources. During starting, these virtual machines need to read data, such as an operating system (OS) and a VNFC process, from a shared storage, and a large quantity of storage input/output (I/O) operations may be generated. If excessive virtual machines are started simultaneously, a virtual machine boot storm is generated, overloads of resources such as shared storage I/O may be caused, and each virtual machine needs a very long time to be started, or is even abnormal, for example reset or hanging. Therefore, a virtual machine management system on the NFV network may limit a quantity of virtual machines starting simultaneously, so as to avoid the overloads of the resources such as the shared storage I/O when the virtual machines are started.
When the virtual machine management system limits the quantity of virtual machines starting simultaneously, a low-reliability problem is caused correspondingly. In the prior art, a virtual machine management system starts virtual machines according to an order of hosts or VNFs (virtual machines deployed on hosts are started one by one or virtual machines of VNFs are started one by one). Because a quantity of virtual machines starting simultaneously is limited and not planned, all virtual machines cannot be quickly started to run all VNFCs required by a specified network service. Because not all VNFCs required by the specified network service run, the network service cannot be normally provided in a start period, and efficiency of providing the network service is low.